import 'package:get/get.dart';
import 'package:gourmet/views/about/us.dart';
import 'package:gourmet/views/classify/all.dart';
import 'package:gourmet/views/classify/ordinary.dart';
import 'package:gourmet/views/coupons/center.dart';
import 'package:gourmet/views/delicious/food.dart';
import 'package:gourmet/views/delicious/group.dart';
import 'package:gourmet/views/delicious/main.dart';
import 'package:gourmet/views/feedback/mine.dart';
import 'package:gourmet/views/feedback/opinion.dart';
import 'package:gourmet/views/feedback/replenishment.dart';
import 'package:gourmet/views/help/chat.dart';
import 'package:gourmet/views/help/service.dart';
import 'package:gourmet/views/home/index.dart';
import 'package:gourmet/views/invite/prizes.dart';
import 'package:gourmet/views/invoice/assistant.dart';
import 'package:gourmet/views/local/errand.dart';
import 'package:gourmet/views/mine/bill/info.dart';
import 'package:gourmet/views/mine/cancel/account.dart';
import 'package:gourmet/views/mine/cancel/success.dart';
import 'package:gourmet/views/mine/cancel/verify.dart';
import 'package:gourmet/views/mine/collect/index.dart';
import 'package:gourmet/views/mine/evaluate/index.dart';
import 'package:gourmet/views/mine/footprint/index.dart';
import 'package:gourmet/views/mine/merchant/voucher.dart';
import 'package:gourmet/views/mine/receive/address/add.dart';
import 'package:gourmet/views/mine/receive/address/city.dart';
import 'package:gourmet/views/mine/receive/address/manage.dart';
import 'package:gourmet/views/mine/receive/address/map.dart';
import 'package:gourmet/views/mine/red/envelope.dart';
import 'package:gourmet/views/mine/setting/index.dart';
import 'package:gourmet/views/mine/wallet/index.dart';
import 'package:gourmet/views/order/info/prepare.dart';
import 'package:gourmet/views/order/payment/success.dart';
import 'package:gourmet/views/mine/payment/bill.dart';
import 'package:gourmet/views/privacy/management.dart';
import 'package:gourmet/views/recruit/join.dart';
import 'package:gourmet/views/recruit/place.dart';
import 'package:gourmet/views/recruit/rider.dart';
import 'package:gourmet/views/recruit/success.dart';
import 'package:gourmet/views/search/order/index.dart';
import 'package:gourmet/views/search/order/result.dart';
import 'package:gourmet/views/search/store.dart';
import 'package:gourmet/views/search/store_result.dart';
import 'package:gourmet/views/shop/cart.dart';
import 'package:gourmet/views/shop/cart_edit.dart';
import 'package:gourmet/views/shop/cart_submit.dart';
import 'package:gourmet/views/store/aptitude.dart';
import 'package:gourmet/views/store/category.dart';
import 'package:gourmet/views/store/help.dart';
import 'package:gourmet/views/store/info.dart';
import 'package:gourmet/views/store/legal.dart';
import 'package:gourmet/views/store/main.dart';
import 'package:gourmet/views/store/mine.dart';
import 'package:gourmet/views/store/open.dart';

class Routes {
  Routes._();

  static const String home = '/';

  static const String searchStore = '/search/store';

  static const String searchStoreResult = '/search/store/result';

  static const String searchOrder = '/search/order';

  static const String searchOrderResult = '/search/order/result';

  static const String classifyOrdinary = '/classify/ordinary';

  static const String classifyAll = '/classify/all';

  static const String deliciousFood = '/delicious/food';

  static const String deliciousGroup = '/delicious/group';

  static const String deliciousMain = '/delicious/main';

  static const String storeMain = '/store/main';

  static const String storeOpen = '/store/open';

  static const String storeHelp = '/store/help';

  static const String storeMine = '/store/mine';

  static const String storeCategory = '/store/category';

  static const String storeInfo = '/store/info';

  static const String storeLegal = '/store/legal';

  static const String storeAptitude = '/store/aptitude';

  static const String shopCart = '/shop/cart';

  static const String shopCartEdit = '/shop/cart/edit';

  static const String shopCartSubmit = '/shop/cart/submit';

  static const String mineSetting = '/mine/setting';

  static const String mineRedEnvelope = '/mine/red/envelope';

  static const String mineWallet = '/mine/wallet';

  static const String mineMerchantVoucher = '/mine/merchant/voucher';

  static const String minePaymentBill = '/mine/payment/bill';

  static const String mineBillInfo = '/mine/bill/info';

  static const String mineCollect = '/mine/collect';

  static const String mineFootprint = '/mine/footprint';

  static const String mineEvalute = '/mine/evalute';

  static const String mineReceiveAddressManage = '/mine/receive/address/manage';

  static const String mineReceiveAddressAdd = '/mine/receive/address/add';

  static const String mineReceiveAddressMap = '/mine/receive/address/map';

  static const String mineReceiveAddressCity = '/mine/receive/address/city';

  static const String mineCancelAccount = '/mine/cancel/account';

  static const String mineCancelVerify = '/mine/cancel/verify';

  static const String mineCancelSuccess = '/mine/cancel/success';

  static const String orderPaymentSuccess = '/order/payment/success';

  static const String orderInfoPrepare = '/order/info/prepare';

  static const String invoiceAssistant = '/invoice/assistant';

  static const String helpService = '/help/service';

  static const String helpChat = '/help/chat';

  static const String feedbackOpinion = '/feedback/opinion';

  static const String feedbackMine = '/feedback/mine';

  static const String feedbackReplenishment = '/feedback/replenishment';

  static const String invitePrizes = '/invite/prizes';

  static const String recruitRider = '/recruit/rider';

  static const String recruitJoin = '/recruit/join';

  static const String recruitPlace = '/recruit/place';

  static const String recruitSuccess = '/recruit/success';

  static const String localErrand = '/local/errand';

  static const String aboutUs = '/about/us';

  static const String privacyManageMent = '/privacy/management';

  static const String couponsCenter = '/coupons/center';

  static final List<GetPage> pages = [
    GetPage(
      title: '首页',
      name: home,
      page: () => const HomePage(),
      binding: BindingsBuilder.put(() => HomeController()),
    ),
    GetPage(
      title: '搜索店铺',
      name: searchStore,
      page: () => const SearchStorePage(),
      binding: BindingsBuilder.put(() => SearchStoreController()),
    ),
    GetPage(
      title: '搜索店铺结果',
      name: searchStoreResult,
      page: () => const SearchStoreResultPage(),
      binding: BindingsBuilder.put(() => SearchStoreResultController()),
    ),
    GetPage(
      title: '搜索订单',
      name: searchOrder,
      page: () => const SearchOrderPage(),
      binding: BindingsBuilder.put(() => SearchOrderController()),
    ),
    GetPage(
      title: '搜索订单结果',
      name: searchOrderResult,
      page: () => const SearchOrderResultPage(),
      binding: BindingsBuilder.put(() => SearchOrderResultController()),
    ),
    GetPage(
      title: '普通分类列表',
      name: classifyOrdinary,
      page: () => const ClassifyOrdinaryPage(),
      binding: BindingsBuilder.put(() => ClassifyOrdinaryController()),
    ),
    GetPage(
      title: '全部分类',
      name: classifyAll,
      page: () => const ClassifyAllPage(),
      binding: BindingsBuilder.put(() => ClassifyAllController()),
    ),
    GetPage(
      title: '美食HOT',
      name: deliciousFood,
      page: () => const DeliciousFoodPage(),
      binding: BindingsBuilder.put(() => DeliciousFoodController()),
    ),
    GetPage(
      title: '美食团购',
      name: deliciousGroup,
      page: () => const DeliciousGroupPage(),
      binding: BindingsBuilder.put(() => DeliciousGroupController()),
    ),
    GetPage(
      title: '团购店铺_主页',
      name: deliciousMain,
      page: () => const DeliciousMainPage(),
      binding: BindingsBuilder.put(() => DeliciousMainController()),
    ),
    GetPage(
      title: '店铺主页',
      name: storeMain,
      page: () => const StoreMainPage(),
      binding: BindingsBuilder.put(() => StoreMainController()),
    ),
    GetPage(
      title: '商家开店',
      name: storeOpen,
      page: () => const StoreOpenPage(),
      binding: BindingsBuilder.put(() => StoreOpenController()),
    ),
    GetPage(
      title: '选择品类',
      name: storeCategory,
      page: () => const StoreCategoryPage(),
      binding: BindingsBuilder.put(() => StoreCategoryController()),
    ),
    GetPage(
      title: '门店信息',
      name: storeInfo,
      page: () => const StoreInfoPage(),
      binding: BindingsBuilder.put(() => StoreInfoController()),
    ),
    GetPage(
      title: '法人信息',
      name: storeLegal,
      page: () => const StoreLegalPage(),
      binding: BindingsBuilder.put(() => StoreLegalController()),
    ),
    GetPage(
      title: '资质信息',
      name: storeAptitude,
      page: () => const StoreAptitudePage(),
      binding: BindingsBuilder.put(() => StoreAptitudeController()),
    ),
    GetPage(
      title: '我要开店',
      name: storeMine,
      page: () => const StoreMinePage(),
      binding: BindingsBuilder.put(() => StoreMineController()),
    ),
    GetPage(
      title: '商家开店',
      name: storeHelp,
      page: () => const StoreHelpPage(),
      binding: BindingsBuilder.put(() => StoreHelpController()),
    ),
    GetPage(
      title: '购物车',
      name: shopCart,
      page: () => const ShopCartPage(),
      binding: BindingsBuilder.put(() => ShopCartController()),
    ),
    GetPage(
      title: '购物车_编辑',
      name: shopCartEdit,
      page: () => const ShopCartEditPage(),
      binding: BindingsBuilder.put(() => ShopCartEditContoller()),
    ),
    GetPage(
      title: '购物车_提交订单',
      name: shopCartSubmit,
      page: () => const ShopCartSubmitPage(),
      binding: BindingsBuilder.put(() => ShopCartSubmitController()),
    ),
    GetPage(
      title: '设置',
      name: mineSetting,
      page: () => const MineSettingPage(),
      binding: BindingsBuilder.put(() => MineSettingController()),
    ),
    GetPage(
      title: '我的红包',
      name: mineRedEnvelope,
      page: () => const MineRedEnvelopePage(),
      binding: BindingsBuilder.put(() => MineRedEnvelopeController()),
    ),
    GetPage(
      title: '我的钱包',
      name: mineWallet,
      page: () => const MineWalletPage(),
      binding: BindingsBuilder.put(() => MineWalletController()),
    ),
    GetPage(
      title: '账单',
      name: minePaymentBill,
      page: () => const MinePaymentBillPage(),
      binding: BindingsBuilder.put(() => MinePaymentBillController()),
    ),
    GetPage(
      title: '账单详情',
      name: mineBillInfo,
      page: () => const MineBillInfoPage(),
      binding: BindingsBuilder.put(() => MineBillInfoController()),
    ),
    GetPage(
      title: '商家代金券',
      name: mineMerchantVoucher,
      page: () => const MineMerchantVoucherPage(),
      binding: BindingsBuilder.put(() => MineMerchantVoucherController()),
    ),
    GetPage(
      title: '我的收藏',
      name: mineCollect,
      page: () => const MineCollectPage(),
      binding: BindingsBuilder.put(() => MineCollectController()),
    ),
    GetPage(
      title: '我的足迹',
      name: mineFootprint,
      page: () => const MineFooterpintPage(),
      binding: BindingsBuilder.put(() => MineFootprintController()),
    ),
    GetPage(
      title: '我的评价',
      name: mineEvalute,
      page: () => const MineEvaluatePage(),
      binding: BindingsBuilder.put(() => MineEvaluateController()),
    ),
    GetPage(
      title: '收货地址管理',
      name: mineReceiveAddressManage,
      page: () => const ReceiveAdressManagePage(),
      binding: BindingsBuilder.put(() => ReceiveAddressManageController()),
    ),
    GetPage(
      title: '新增收货地址',
      name: mineReceiveAddressAdd,
      page: () => const ReceiveAddressAddPage(),
      binding: BindingsBuilder.put(() => ReceiveAddressAddController()),
    ),
    GetPage(
      title: '地址搜索-带地图',
      name: mineReceiveAddressMap,
      page: () => const ReceiveAddressMapPage(),
      binding: BindingsBuilder.put(() => ReceiveAddressMapController()),
    ),
    GetPage(
      title: '选择城市',
      name: mineReceiveAddressCity,
      page: () => const ReceiveAddressCityPage(),
      binding: BindingsBuilder.put(() => ReceiveAddressCityController()),
    ),
    GetPage(
      title: '安全验证',
      name: mineCancelVerify,
      page: () => const CancelVerifyPage(),
      binding: BindingsBuilder.put(() => CancelVerifyController()),
    ),
    GetPage(
      title: '注销成功',
      name: mineCancelSuccess,
      page: () => const CancelSuccessPage(),
      binding: BindingsBuilder.put(() => CancelSuccessController()),
    ),
    GetPage(
      title: '注销账户',
      name: mineCancelAccount,
      page: () => const CancelAccountPage(),
      binding: BindingsBuilder.put(() => CancelAccountController()),
    ),
    GetPage(
      title: '外卖订单详情_支付成功',
      name: orderPaymentSuccess,
      page: () => const OrderPaymentSuccessPage(),
      binding: BindingsBuilder.put(() => OrderPaymentSuccessController()),
    ),
    GetPage(
      title: '外卖订单详情_商家待接单',
      name: orderInfoPrepare,
      page: () => const OrderInfoPreparePage(),
      binding: BindingsBuilder.put(() => OrderInfoPrepareController()),
    ),
    GetPage(
      title: '发票助手',
      name: invoiceAssistant,
      page: () => const InvoiceAssistantPage(),
      binding: BindingsBuilder.put(() => InvoiceAssistantController()),
    ),
    GetPage(
      title: '帮助与客服',
      name: helpService,
      page: () => const HelpServicePage(),
      binding: BindingsBuilder.put(() => HelpServiceController()),
    ),
    GetPage(
      title: '在线客服',
      name: helpChat,
      page: () => const HelpChatPage(),
      binding: BindingsBuilder.put(() => HelpChatController()),
    ),
    GetPage(
      title: '反馈意见',
      name: feedbackOpinion,
      page: () => const FeedbackOpinionPage(),
      binding: BindingsBuilder.put(() => FeedbackOpinionController()),
    ),
    GetPage(
      title: '我的反馈',
      name: feedbackMine,
      page: () => const FeedbackMinePage(),
      binding: BindingsBuilder.put(() => FeedbackMineController()),
    ),
    GetPage(
      title: '补充反馈',
      name: feedbackReplenishment,
      page: () => const FeedbckReplenishmentPage(),
      binding: BindingsBuilder.put(() => FeedbackReplenishmentController()),
    ),
    GetPage(
      title: '邀请有奖',
      name: invitePrizes,
      page: () => const InvitePrizesPage(),
      binding: BindingsBuilder.put(() => InvitePrizesController()),
    ),
    GetPage(
      title: '招募骑手',
      name: recruitRider,
      page: () => const RecruiteRiderPage(),
      binding: BindingsBuilder.put(() => RecruitRiderController()),
    ),
    GetPage(
      title: '招募骑手_我要加入',
      name: recruitJoin,
      page: () => const RecruitJoinPage(),
      binding: BindingsBuilder.put(() => RecruitJoinController()),
    ),
    GetPage(
      title: '招募骑手_工作地点',
      name: recruitPlace,
      page: () => const RecruitPlacePage(),
      binding: BindingsBuilder.put(() => RecruitPlaceController()),
    ),
    GetPage(
      title: '招募骑手_工作地点',
      name: recruitSuccess,
      page: () => const RecruitSuccessPage(),
      binding: BindingsBuilder.put(() => RecruitSuccessController()),
    ),
    GetPage(
      title: '同城跑腿',
      name: localErrand,
      page: () => const LocalErrandPage(),
      binding: BindingsBuilder.put(() => LocalErrandController()),
    ),
    GetPage(
      title: '关于我们',
      name: aboutUs,
      page: () => const AboutUsPage(),
      binding: BindingsBuilder.put(() => AboutUsController()),
    ),
    GetPage(
      title: '隐私管理',
      name: privacyManageMent,
      page: () => const PrivacyManagementPage(),
      binding: BindingsBuilder.put(() => PrivacyManagementController()),
    ),
    GetPage(
      title: '领券中心',
      name: couponsCenter,
      page: () => const CouponsCenterPage(),
      binding: BindingsBuilder.put(() => CouponsCenterController()),
    ),
  ];
}
